1. Field of the Invention
The present invention relates to a method, a system, and a program for extending a function of an application.
2. Description of the Related Art
When image data on which editing, display, or the like is performed by an application is printed through a printer, in general, the printing is performed via a printer drive corresponding to the printer.
As a function of the printer drive in a related art, an expansion reduction function is proposed for expanding or reducing an original sheet size set on the application on the printer drive to an output sheet size to be actually printed. This expansion reduction function is carried out by calculating a scaling factor for expanding or reducing the image data of the application while a ratio of a valid printing area between the original sheet size and the output sheet size is used as a reference.
Up to now, in a case where the image data in the original sheet size is small, if the output sheet size is set larger than the original sheet size, the original sheet size is expanded to the output sheet size by the above-described expansion reduction function of the driver. At that time, a margin area of the image data is similarly expanded. For that reason, the margin area is larger than a margin area set by a user on the original sheet size, and the user may sense that the printed image data becomes rather small in some cases. For example, in FIG. 11, a margin of the valid printing area (an inner side of a broken line part) is also proportionately increased at the time of the expansion. For this reason, when the user actually performs the sheet output, the user senses that the image data (marked out part) can be further expanded to some extent.
Such a problem becomes obvious when, in particular, by using a large-sized printer, the image data created on the application is printed on a sheet of a large size such as a longitudinal printing or a banner printing. This is because the image data created on a sheet of the A4 size on the application is expanded to the sheet of the large size such as the longitudinal printing or the banner printing, even when the expansion ratio of the margin is the same as the image data, the margin part becomes conspicuous.
For that reason, the image data from the application is to be printed, the image data is once accumulated in the printer driver, and the image data accumulated to be in the valid printing area (maximum printing area) of the output sheet size is printed while being expanded or reduced. According to this, Japanese Patent Laid-Open No. 2001-094767 discloses a printing technology for expanding only the image data to the valid printing area to minimize the margin.
Meanwhile, a large number of applications publishing a unit for extending its own function exist. For example, applications such as Microsoft Office (Microsoft Corporation of USA) and Microsoft Internet Explorer (Microsoft Corporation of USA) are exemplified. These applications can provide an additional function to the user by registering an additional program in conformity to the published unit. Then, such an additional program for providing the additional function to the application is generally called plug-in.
Japanese Patent Laid-Open No. 2003-216366 discloses a function extension of an application utilizing the plug-in.
However, a technology disclosed in Japanese Patent Laid-Open No. 2001-094767 has the following problem.
In a case where the image data is created by the application, in general, a margin setting is performed on the application, but in a case where only the image data is expanded to the valid printing area as in Japanese Patent Laid-Open No. 2001-094767, the margin set on the application becomes invalid. That is, the printing result becomes entirely different as the margin set on the application by the user is not reflected on a printing result.
Furthermore, the printer driver cannot obtain the margin information set on the application. For that reason, when the printing is performed while using the expansion reduction function of the driver, in order to reflect the margin set by the user on the output result, it is necessary to set the margin while taking into account a scaling factor in the printer driver on the application. For that reason, the user needs to perform such a complex processing that before data is sent to the printer driver from the application (before a printing instruction is issued), a scaling factor for the expansion or reduction from the original sheet size set on the application to the output side is previously calculated, and from the calculation result, the margin amount on the application is changed to an appropriate value.
In particular, in a case where the expansion printing is performed by using the large-sized printer, the scaling factor by the printer driver becomes large, and it is extremely difficult to demand the user to perform both the scaling factor calculation and the resetting of the margin amount.